package com.cskaoyan.javase.oop1._15import.extend;

import com.cskaoyan.javase.oop1._15import.two.*;
/*import java.util.ArrayList;
import java.util.Arrays;*/
import java.util.*;

/*import static java.lang.Math.PI;
import static java.lang.Math.pow;*/
import static java.lang.Math.*;
import static java.lang.System.out;

/**
 * import关键字扩展内容:
 *      1."*"通配符
 *      import关键字存在智能导包的形式，会智能的根据需要导入需要的某个类
 *          它的语法是这样的：
 *          import + 包名.*;
 *          该语法表示该表下的所有类智能的根据情况导入
 *          什么叫做智能的,根据情况的导入呢?
 *          当该智能导入语句没有导入某个类时,程序就会编译报错
 *          那么该智能导入语句才会生效
 *          反之,如果不导包,代码也不会报错,也能够找到这个类,该导包语句就不生效
 *          智能导入往往在需要大量使用同一个包下的类时有简化代码的效果,一般情况最好不用
 *
 *      2.(没有用,了解)静态导入
 *          在上面讲解的所有导包语句中,导入的都是类,但是静态导入,导入的不是类,而是静态成员
 *          语法: import static 全限定类名 + 类的静态成员名;
 *          语法: import static 全限定类名.*; (标示某个类下的所有静态成员智能导入)
 *
 * @since 10:58
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        /*Student s = new Student();
        s.test();
        Teacher t = new Teacher();
        t.test();

        new ArrayList<>();
        int[] arr = new int[3];
        Arrays.toString(arr);*/

        System.out.println(Math.PI);
        System.out.println(Math.pow(2, 10));
        System.out.println(PI);
        System.out.println(pow(2, 8));

        // 访问类的静态成员,使用"类名."访问,可以增加代码可读性,而使用静态导入以后,代码就会显得很奇怪
        // 静态导入在绝大多数情况 不推荐使用
        out.println(PI);
    }
}
